superclass & constructor
[constructor]
->其實可以讓使用者有多個constructor可以選擇
->如果class有一個以上的constructor,則必須要有不同的參數,也就是參數一定要不一樣
->多個constructor之間的關係正是之前所提過的overload
[overload]
->更準確的說,constructor的overload是看參數型別順序,而不是參數名稱,做出相同型別順序不同的參數是可以的,ex.
public class Fruit{
public Fruit(int size, string name){}
public Fruit(string name, int size){}
}
是合法的,因為順序不同所以兩種constructor可以同時存在
[附註1]
如果沒有寫constructor的話,編譯器會自動幫妳寫一個
[附註2]
constructor可以是public,private或不指定的,不一定是public的形式
[superclass's constructor]
建構新object時,所有有被繼承下的constructor都會被執行